package com.example.demo.annotion;

import com.example.demo.enums.DataEnum;

import java.lang.annotation.*;


@Target({ElementType.METHOD,ElementType.TYPE,ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface MyAnnotation {
    /**
     * @Target 描述该注解的使用范围
     *
     * ElementType.METHOD  用于描述方法
     * ElementType.TYPE  用于描述类或接口,枚举
     * ElementType.PARAMETER  用于描述参数
     *
     * @Retention 用于描述注解的生命周期
     * RetentionPolicy.RUNTIME  在运行时有效（即运行时保留）
     *
     * @Documented 表示该注解是被Javadoc自动记录的
     *
     *@Inherited 表示该注解是自动继承的
     *
     * Annotation 属性值类型包含： 基本数据类型  数组  枚举
     *
     * 注：1.Annotation 不可继承其他接口
     *  2.Annotation 只支持  原生的基本数据类型  一维数组  枚举
     *
     */

    String value();

    String name();

    String[] xy();

    DataEnum week() default DataEnum.Friday;
}
